package main

import (
	"log"

	"pan/config"
	"pan/mq"
	dbCli "pan/service/dbproxy/client"
	"pan/service/transfer/process"

	"go-micro.dev/v4"
)

func startRPCService() {
	service := micro.NewService(
		micro.Name("transfer"), // 服务名称
	)
	service.Init()
	// 初始化dbproxy client
	dbCli.Init(service)
	// 初始化mq client
	mq.Init()
	// 启动服务
	if err := service.Run(); err != nil {
		log.Println(err)
	}
}

func startTranserService() {
	if !config.AsyncTransferEnable {
		log.Println("异步转移文件功能目前被禁用，请检查相关配置")
		return
	}
	log.Println("文件转移服务启动中，开始监听转移任务队列...")
	mq.StartConsume(
		config.TransOSSQueueName,
		"transfer_oss",
		process.Transfer)
}

func main() {
	// 文件转移服务
	go startTranserService()
	// rpc 服务
	startRPCService()
}
